1. Field
The present invention relates to efficient data replication and backup, and more particularly, to a method, a backup server, and a computer program product for enabling a transaction processing server to perform efficient data replication and backup.
2. Description of the Related Art
From the perspective of most enterprise applications, especially B2B applications (in the B2B message-related field, for example), the capability of maintaining non-repudiation of data is not only inevitably an important dimension of the applications, but also the key to the success of enterprise business. Hence, most enterprise applications require keeping received transaction data (wire-in) and sending transaction data (wire-out) to ensure that the applications will each have a copy which serves as a piece of evidence and thus effectuates non-repudiation of data. However, as in the case of most B2B message applications, the payloads of files increase greatly (to, say, 100M-1G) with the size or quantity of the files; as a result, it poses an enormous challenge to most B2B applications in terms of storing the payloads efficiently and still maintaining high message throughout (i.e., the number of transactions conducted per second).
FIG. 1 is a schematic view, of a message process flow of an illustrative framework of a conventional typical B2B application. A transaction processing server 110 provides an application 112 (such as stock trading) for receiving an input message 102 from the client. The input message 102 either originates from an external client device directly or is sent to the transaction processing server 110 via a networking device 100. The input message 102 is a packet or a transaction. The networking device 100 is a device capable of controlling the direction of the flow of network packets and is exemplified by an exchanger, a router, or a hub. For the details of the framework of the networking device 100, make reference to Cisco's exchanger product Cisco Catalyst 3550 Series Switch. The transaction processing server 110 stores correctable data by a transaction and usually applies to systems of banking, stocks and securities transaction. A transaction requests that data stored in a transaction processing server be read, written, or updated. In general, a transaction includes ordering, purchasing, changing, creating, and deleting. For further details of the transaction processing server, make reference to WebSphere DataPower B2B Appliance v5.0.
In general, the process flow of the B2B application is as follows:
1) After the transaction processing server 110 has received the input message 102, the input message 102 is sent from the kernel space of the transaction processing server 110 to the application 112 on a user space.
2) The application 112 of the transaction processing server 110 analyzes and processes the input message 102. Afterward, the input message 102 is sent from the user space to the kernel space, so as to be replicated by a transaction backup server 120. The transaction backup server 120 gives backup to a local storage or sends it to a remote storage server (such as NES/CIFS/ISCSI) of NAS; meanwhile, the message is transmitted via a network. For details of the storage server, make reference to NAS Server on Ubuntu 11.10. When necessary, the input message 102 which has been processed can also be sent from the user space to the kernel space, so as to be replicated by the transaction backup server 120.
3) An operating system of the transaction backup server 120 copies the input message 102 received from the transaction processing server 110 from the kernel space to a daemon, such as an NFS daemon, on the user space.
4) The NFS daemon stores the input message 102 in a physical storage, such as a hard disk drive or an array of hard disk drives (RAID), of the transaction backup server 120.
The aforesaid conventional process flow involves a latency of heavy I/O operation, regardless of whether network-based transmission takes place between the user space and the kernel space, or between the transaction processing server 110 and the transaction backup server 120. Hence, the latency of the heavy I/O operation becomes the performance bottleneck of overall throughout.
Accordingly, it is advantageous to reduce unnecessary I/O operation between the transaction processing server 110 and the transaction backup server 120.